當我們我們在多個不同的畫面有傳值需求時有兩種方法一種是單例(Singleton)另外一種是protocol
,本文將要說明單例(Singleton),明天是protocol
。使用單例可以確保某一個類別在應用程式生命週期中只存在一個實例,並且可以從任何地方存取該實例。
class user_value {
var ischild = false
var account = ""
var password = ""
let id = 0 // 可以宣告常數
// 單例實例
static let shared = user_value()
// 將初始化設為 private,防止外部建立新實例
private init() {}
}
// 取值
let userPassword = user_value.shared.password
// 修改數值
user_value.shared.ischild = true
單例模式非常適合用於多個畫面需要共享相同的資料,並且這些資料在應用程式的生命週期中只需要存在一個實例。透過設置單例,我們可以簡單地從各個地方存取或修改資料,無需每次都重新初始化,節省了資源並提高了程式的可讀性。明天將會探討另一種傳值方式——protocol,讓我們可以更加靈活地傳遞資料。